package com.edgegateway.system.service.impl;

import java.util.List;
import com.edgegateway.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.edgegateway.system.mapper.IotThingsModelTemplateMapper;
import com.edgegateway.system.domain.IotThingsModelTemplate;
import com.edgegateway.system.service.IIotThingsModelTemplateService;
import com.edgegateway.common.core.text.Convert;

/**
 * 通用物模型Service业务层处理
 * 
 * @author Doooxu
 * @date 2023-01-11
 */
@Service
public class IotThingsModelTemplateServiceImpl implements IIotThingsModelTemplateService 
{
    @Autowired
    private IotThingsModelTemplateMapper iotThingsModelTemplateMapper;

    /**
     * 查询通用物模型
     * 
     * @param templateId 通用物模型主键
     * @return 通用物模型
     */
    @Override
    public IotThingsModelTemplate selectIotThingsModelTemplateByTemplateId(String templateId)
    {
        return iotThingsModelTemplateMapper.selectIotThingsModelTemplateByTemplateId(templateId);
    }

    /**
     * 查询通用物模型列表
     * 
     * @param iotThingsModelTemplate 通用物模型
     * @return 通用物模型
     */
    @Override
    public List<IotThingsModelTemplate> selectIotThingsModelTemplateList(IotThingsModelTemplate iotThingsModelTemplate)
    {
        return iotThingsModelTemplateMapper.selectIotThingsModelTemplateList(iotThingsModelTemplate);
    }

    /**
     * 新增通用物模型
     * 
     * @param iotThingsModelTemplate 通用物模型
     * @return 结果
     */
    @Override
    public int insertIotThingsModelTemplate(IotThingsModelTemplate iotThingsModelTemplate)
    {
        iotThingsModelTemplate.setCreateTime(DateUtils.getNowDate());
        return iotThingsModelTemplateMapper.insertIotThingsModelTemplate(iotThingsModelTemplate);
    }

    /**
     * 修改通用物模型
     * 
     * @param iotThingsModelTemplate 通用物模型
     * @return 结果
     */
    @Override
    public int updateIotThingsModelTemplate(IotThingsModelTemplate iotThingsModelTemplate)
    {
        iotThingsModelTemplate.setUpdateTime(DateUtils.getNowDate());
        return iotThingsModelTemplateMapper.updateIotThingsModelTemplate(iotThingsModelTemplate);
    }

    /**
     * 批量删除通用物模型
     * 
     * @param templateIds 需要删除的通用物模型主键
     * @return 结果
     */
    @Override
    public int deleteIotThingsModelTemplateByTemplateIds(String templateIds)
    {
        return iotThingsModelTemplateMapper.deleteIotThingsModelTemplateByTemplateIds(Convert.toStrArray(templateIds));
    }

    /**
     * 删除通用物模型信息
     * 
     * @param templateId 通用物模型主键
     * @return 结果
     */
    @Override
    public int deleteIotThingsModelTemplateByTemplateId(String templateId)
    {
        return iotThingsModelTemplateMapper.deleteIotThingsModelTemplateByTemplateId(templateId);
    }
}
